package com.choosefine.it.project.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonIgnore;

/**
 * 工人考勤明细
 * 
 * @auth liaozhanggen 2016-12-10 下午5:27:37
 *
 */
@ApiModel(value = "考勤(添加/编辑)传递接收对象")
public class WorkerAttendanceDetail implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 7245170616267992078L;

	@ApiModelProperty(value = "考勤主键,编辑时可使用到")
	private Integer id; // 正式表中的考勤ID

	@JsonIgnore
	private Integer sourceId; // 原始的考勤ID

	@ApiModelProperty(value = "项目编码")
	private String projectCode; // 项目编号

	@ApiModelProperty(value = "当前工人编号")
	private String userCode; // 当前工人编号

	@ApiModelProperty(value = "班组ID")
	private Integer teamId; // 班组ID

	@ApiModelProperty(value = "日期（年-月-日）")
	private String dataTime; // 正式表中的日期（年-月-日）

	@ApiModelProperty(value = "原始的 打卡开始时间(时：分)")
	private String orgWorkTimeStart; // 原始的 打卡开始时间(时：分)

	@ApiModelProperty(value = "原始的 打卡结束时间  (时：分)")
	private String orgWorkTimeEnd; // 原始的 打卡结束时间 (时：分)

	@ApiModelProperty(value = "原始的当天工时")
	private BigDecimal workTime; // 原始的当天工时

	@ApiModelProperty(value = "正式表的调整后的 单价 ")
	private BigDecimal unitSalary; // 正式表的调整后的 单价

	@ApiModelProperty(value = "调整后的 打卡开始时间(时：分)")
	private String chgWorkTimeStart; // 正式表的调整后的 打卡开始时间(时：分)

	@ApiModelProperty(value = "调整后的 打卡结束时间(时：分)")
	private String chgWorkTimeEnd;// 正式表的调整后的 打卡结束时间(时：分)

	@ApiModelProperty(value = "工时调整原因")
	private String changeReason;// 工时调整原因

	@ApiModelProperty(value = "调整后的 工时量")
	private BigDecimal chgWorkTimeAdjust;// 正式表的调整后的 工时量

	@ApiModelProperty(value = "正式表的调整后的 工时")
	private BigDecimal chgWorkTime; // 正式表的调整后的 工时

	@ApiModelProperty(value = "如果传递则保存传递的，否则后台依照的 chgWorkTime * chgUnitSalary 总金额")
	private BigDecimal actualSalary; // 正式表的调整后的 chgWorkTime * chgUnitSalary 总金额

	@ApiModelProperty(value = "原始工价")
	private BigDecimal orgunitSalary;
	@ApiModelProperty(value = "操作员编号")
	private String operatorNum;
	@ApiModelProperty(value = "操作时间")
	private Long utime;
	@ApiModelProperty(value = "工价调整理由")
	private String priceChangeReason;

	public String getPriceChangeReason() {
		return priceChangeReason;
	}

	public void setPriceChangeReason(String priceChangeReason) {
		this.priceChangeReason = priceChangeReason;
	}

	public String getOperatorNum() {
		return operatorNum;
	}

	public void setOperatorNum(String operatorNum) {
		this.operatorNum = operatorNum;
	}

	public Long getUtime() {
		return utime;
	}

	public void setUtime(Long utime) {
		this.utime = utime;
	}

	public BigDecimal getOrgunitSalary() {
		return orgunitSalary;
	}

	public void setOrgunitSalary(BigDecimal orgunitSalary) {
		this.orgunitSalary = orgunitSalary;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getSourceId() {
		return sourceId;
	}

	public void setSourceId(Integer sourceId) {
		this.sourceId = sourceId;
	}

	public String getDataTime() {
		return dataTime;
	}

	public void setDataTime(String dataTime) {
		this.dataTime = dataTime;
	}

	public String getOrgWorkTimeStart() {
		return orgWorkTimeStart;
	}

	public void setOrgWorkTimeStart(String orgWorkTimeStart) {
		this.orgWorkTimeStart = orgWorkTimeStart;
	}

	public String getOrgWorkTimeEnd() {
		return orgWorkTimeEnd;
	}

	public void setOrgWorkTimeEnd(String orgWorkTimeEnd) {
		this.orgWorkTimeEnd = orgWorkTimeEnd;
	}

	public BigDecimal getWorkTime() {
		return null == workTime ? new BigDecimal(0) : workTime;
	}

	public void setWorkTime(BigDecimal workTime) {
		this.workTime = workTime;
	}

	public String getChgWorkTimeStart() {
		return chgWorkTimeStart;
	}

	public void setChgWorkTimeStart(String chgWorkTimeStart) {
		this.chgWorkTimeStart = chgWorkTimeStart;
	}

	public String getChgWorkTimeEnd() {
		return chgWorkTimeEnd;
	}

	public void setChgWorkTimeEnd(String chgWorkTimeEnd) {
		this.chgWorkTimeEnd = chgWorkTimeEnd;
	}

	public String getChangeReason() {
		return changeReason;
	}

	public void setChangeReason(String changeReason) {
		this.changeReason = changeReason;
	}

	public BigDecimal getChgWorkTimeAdjust() {
		return null == chgWorkTimeAdjust ? new BigDecimal(0) : chgWorkTimeAdjust;
	}

	public void setChgWorkTimeAdjust(BigDecimal chgWorkTimeAdjust) {
		this.chgWorkTimeAdjust = chgWorkTimeAdjust;
	}

	public BigDecimal getChgWorkTime() {
		return null == chgWorkTime ? new BigDecimal(0) : chgWorkTime;
	}

	public void setChgWorkTime(BigDecimal chgWorkTime) {
		this.chgWorkTime = chgWorkTime;
	}

	public BigDecimal getUnitSalary() {
		return null == unitSalary ? new BigDecimal(0) : unitSalary;
	}

	public void setUnitSalary(BigDecimal unitSalary) {
		this.unitSalary = unitSalary;
	}

	public BigDecimal getActualSalary() {
		return null == actualSalary ? new BigDecimal(0) : actualSalary;
	}

	public void setActualSalary(BigDecimal actualSalary) {
		this.actualSalary = actualSalary;
	}

	public String getProjectCode() {
		return projectCode;
	}

	public void setProjectCode(String projectCode) {
		this.projectCode = projectCode;
	}

	public String getUserCode() {
		return userCode;
	}

	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}

	public Integer getTeamId() {
		return teamId;
	}

	public void setTeamId(Integer teamId) {
		this.teamId = teamId;
	}
}